dwc_otg: make periodic scheduling behave properly for FS buses
authorP33M <p33m@github.com>
Thu, 25 May 2017 15:04:53 +0000 (16:04 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 02:51:25 +0000 (02:51 +0000)
commitc59ec4ba6706354a764e42b09726f15c62fe5cc3
tree9db63c9e0c8258674342fa0f216e5b5ac76d4cd8
parent554f77332326ecbe48fd9b4c079fbaf5c9e16996
dwc_otg: make periodic scheduling behave properly for FS buses

If the root port is in full-speed mode, transfer times at 12mbit/s
would be calculated but matched against high-speed quotas.

Reinitialise hcd->frame_usecs[i] on each port enable event so that
full-speed bandwidth can be tracked sensibly.

Also, don't bother using the FIQ for transfers when in full-speed
mode - at the slower bus speed, interrupt frequency is reduced by
an order of magnitude.

Related issue: https://github.com/raspberrypi/linux/issues/2020
drivers/usb/host/dwc_otg/dwc_otg_hcd.c
drivers/usb/host/dwc_otg/dwc_otg_hcd.h
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c